package com.ruoyi.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
/**
 * 小程序用户对象 sys_mini_user
 * 
 * @author ruoyi
 * @date 2022-01-23
 */
/**
 * 小程序用户对象 sys_mini_user
 *
 * @author ruoyi
 * @date 2023-04-06
 */
@ApiModel(value = "SysMiniUser", description = "小程序用户")
public class SysMiniUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long miniUserId;

    /** openid */
    @Excel(name = "openid")
    @ApiModelProperty(value = "openid")
    private String openid;

    /** 昵称 */
    @Excel(name = "昵称")
    @ApiModelProperty(value = "昵称")
    private String nickName;

    /** 头像 */
    @Excel(name = "头像")
    @ApiModelProperty(value = "头像")
    private String avatar;

    /** 手机号 */
    @Excel(name = "手机号")
    @ApiModelProperty(value = "手机号")
    private String tel;

    /** 性别 */
    @Excel(name = "性别")
    @ApiModelProperty(value = "性别")
    private String sex;

    /** 姓名 */
    @Excel(name = "姓名")
    @ApiModelProperty(value = "姓名")
    private String realName;

    /** 职工号 */
    @Excel(name = "职工号")
    @ApiModelProperty(value = "职工号")
    private String jobNumber;

    /** 身份证号 */
    @Excel(name = "身份证号")
    @ApiModelProperty(value = "身份证号")
    private String idNumber;

    /** 人员属性 0 在职 1离退休 2大集体 */
    @Excel(name = "人员属性 0 在职 1离退休 2大集体")
    @ApiModelProperty(value = "人员属性 0 在职 1离退休 2大集体")
    private String type;

    /** 入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "入职时间")
    private Date entryTime;

    /** 退休时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退休时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "退休时间")
    private Date retirementTime;

    /** 是否会员 0 是 1否 */
    @Excel(name = "是否会员 0 是 1否")
    @ApiModelProperty(value = "是否会员 0 是 1否")
    private String isMember;

    /** 单位ID */
    @Excel(name = "单位ID")
    @ApiModelProperty(value = "单位ID")
    private Long deptId;

    private String password;

    /******微信授权的手机号*******/
    private String wxTel;

    /** 所在单位编码 */
    private String szdwbm;

    /** 所在单位名称 */
    private String szdwmc;

    /** 身份证件类型 */
    private String sfzjlxm;

    /*** 2023-11-10 入会时间（申请通过的入会时间） 多次入会情况下记录最新的时间 导入的设置入会时间未2023年9月30日？***/
    // todo 导入模板修改 增加入会时间
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入会时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "入会时间")
    private Date initiationTime;

    public void setMiniUserId(Long miniUserId)
    {
        this.miniUserId = miniUserId;
    }

    public Long getMiniUserId()
    {
        return miniUserId;
    }
    public void setOpenid(String openid)
    {
        this.openid = openid;
    }

    public String getOpenid()
    {
        return openid;
    }
    public void setNickName(String nickName)
    {
        this.nickName = nickName;
    }

    public String getNickName()
    {
        return nickName;
    }
    public void setAvatar(String avatar)
    {
        this.avatar = avatar;
    }

    public String getAvatar()
    {
        return avatar;
    }
    public void setTel(String tel)
    {
        this.tel = tel;
    }

    public String getTel()
    {
        return tel;
    }
    public void setSex(String sex)
    {
        this.sex = sex;
    }

    public String getSex()
    {
        return sex;
    }
    public void setRealName(String realName)
    {
        this.realName = realName;
    }

    public String getRealName()
    {
        return realName;
    }
    public void setJobNumber(String jobNumber)
    {
        this.jobNumber = jobNumber;
    }

    public String getJobNumber()
    {
        return jobNumber;
    }
    public void setIdNumber(String idNumber)
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber()
    {
        return idNumber;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setEntryTime(Date entryTime)
    {
        this.entryTime = entryTime;
    }

    public Date getEntryTime()
    {
        return entryTime;
    }
    public void setRetirementTime(Date retirementTime)
    {
        this.retirementTime = retirementTime;
    }

    public Date getRetirementTime()
    {
        return retirementTime;
    }
    public void setIsMember(String isMember)
    {
        this.isMember = isMember;
    }

    public String getIsMember()
    {
        return isMember;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getWxTel() {
        return wxTel;
    }

    public void setWxTel(String wxTel) {
        this.wxTel = wxTel;
    }

    public String getSzdwbm() {
        return szdwbm;
    }

    public void setSzdwbm(String szdwbm) {
        this.szdwbm = szdwbm;
    }

    public String getSzdwmc() {
        return szdwmc;
    }

    public void setSzdwmc(String szdwmc) {
        this.szdwmc = szdwmc;
    }

    public String getSfzjlxm() {
        return sfzjlxm;
    }

    public void setSfzjlxm(String sfzjlxm) {
        this.sfzjlxm = sfzjlxm;
    }

    public Date getInitiationTime() {
        return initiationTime;
    }

    public void setInitiationTime(Date initiationTime) {
        this.initiationTime = initiationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("miniUserId", getMiniUserId())
                .append("openid", getOpenid())
                .append("nickName", getNickName())
                .append("avatar", getAvatar())
                .append("tel", getTel())
                .append("sex", getSex())
                .append("realName", getRealName())
                .append("jobNumber", getJobNumber())
                .append("idNumber", getIdNumber())
                .append("type", getType())
                .append("entryTime", getEntryTime())
                .append("retirementTime", getRetirementTime())
                .append("isMember", getIsMember())
                .append("deptId", getDeptId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("password", getPassword())
                .toString();
    }
}
